package com.ouwen.smartpay.domain;

import lombok.Builder;
import lombok.Getter;
import lombok.Setter;

import java.lang.reflect.Method;

/**
 *@author <a href="http://youngitman.tech">青年IT男</a>
 *@version v1.0.0
 *@className ProviderWarpper
 *@description 服务提供的包装器，包装到方法级别，一个类有多个方法服务暴露则有多个ProviderWarpper实例
 *@JunitTest: {@link  } 
 *@date 2020-04-22 13:58    
 *
 *
**/
@Getter
@Setter
@Builder
public class ProviderWarpper {
    /*** 调用方法 */
    private Method method;
    /*** 调用服务版本 */
    private String version;
    /*** 调用方法的接口类 */
    private Class<?> interfaceClass;
    /*** 调用服务分组 */
    private String group;
    /*** 接口请求参数 */
    private Class<?> order;
    /*** 接口方法参数 */
    private Class<?> result;
    /*** 服务码 */
    private String serviceName;
    /*** 应用 */
    private String application;

    @Override
    public String toString() {
        return "ProviderWarpper{" +
                "method=" + method +
                ", version='" + version + '\'' +
                ", interfaceClass=" + interfaceClass +
                ", group='" + group + '\'' +
                ", order=" + order +
                ", result=" + result +
                ", serviceName='" + serviceName + '\'' +
                ", application='" + application + '\'' +
                '}';
    }
}
